const mongoose = require('mongoose');

// 连接数据库
mongoose.connect('mongodb://localhost/yxlm', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
    console.log('数据库连接成功');
})
.catch(err => {
    console.log(err + '数据库连接失败');
});

// 创建集合规则
let usersSchema = new mongoose.Schema({
    name: String,
    age: Number,
    hobbies: [String],
    email: String,
    password: String
});

// 创建集合
let User = mongoose.model('User', usersSchema);

// 找到第一个匹配的并删除
// User.findOneAndDelete({name: '罗本伟'}).then(doc => console.log(doc));
// 删除多个
// User.deleteMany().then(doc => console.log(doc));

// 查找 大于多少小于多少 区间的     $gt 大于        #lt 小于
// User.find({age: {$gt: 18, $lt: 25}}).then(doc => console.log(doc));

// 查找 包含某个内容的      $in 包含
// User.find({hobbies: {$in: '足球'}}).then(doc => console.log(doc));

// skip()  跳过多少个的 ()填num值         limit() 限制查找多少个 ()填num值
// User.find().skip(2).limit(2).then(doc => console.log(doc));

// select 选择查找  专门查找某类字段        不想找某个字段在前面加 - 即可
// User.find().select('name age -_id').then(doc => console.log(doc));

// 排序查找 sort        降序的话在字段键前面加 - 即可
// User.find().sort('-age').then(doc => console.log(doc));

// 更新     updateOne 只更新第一个查找到的     updateMany 更新多个
// User.updateOne({name: '陈雨鑫'}, {name: '阿鑫'}).then(doc => console.log(doc));
// User.updateMany({}, {age: 18}).then(doc => console.log(doc));
// User.updateMany({name: '罗本伟'}, {name: '罗永浩'}).then(doc => console.log(doc));